package bom.example.common.utils;

import bom.example.common.common.Contants;
import bom.example.common.system.domain.SysFile;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.Date;

/**
 * @author X.I.O
 * @title: SysFileUtils
 * @projectName springboot
 * @description: TODO
 * @date 2021/10/28 21:20
 */
public class SysFileUtils {

    /**
     * 通告SysFile 获取下载路径
     * @param sysFile
     * @return
     */
    public static String getDownLoadUrlBySysFile(SysFile sysFile){
        if(sysFile==null){
            return "";
        }
       return getDownLoadUrlBySysFile(sysFile.getId());
    }

    public static String getDownLoadUrlBySysFile(String id){
        if (id==null){
            return "";
        }
        return Contants.DOWN_LOAD_URL+id;
    }

    public static SysFile getSysFileByMultipartFile(MultipartFile file, File filePath){
        SysFile file1=null;
        if(file==null){
            return file1;
        }
        try {
            String path=filePath.getPath()+File.separator+file.getOriginalFilename();
            File file_path=new File(path);
            //获取文件名
            String fileName=file.getOriginalFilename();
            Long size=file.getSize();
            size=size/(1024*512*2);
            String fileType=file.getContentType();
            file.transferTo(file_path);
            file1=SysFile.builder().fileName(fileName)
                .filePath(path)
                .fileSize(Double.valueOf(String.valueOf(size)))
                .fileType(fileType)
                .createdate(new Date())
                .build();
        }catch (IOException e){
            e.printStackTrace();
        }
        return file1;
    }


}
